Migration Guide from LevelPlay to XMediatorAds
Integration
This section helps you migrate from the LevelPlay SDK to the XMediatorAds SDK in your Android project.
Initialize the SDK Comparison
- Kotlin
- Java
Operation | LevelPlay | XMediatorAds |
---|---|---|
SDK Initialization | LevelPlay.init(context, initRequest, initListener) | XMediatorAds.startWith(activity = context, appKey = appKey, initSettings = initSettings, initCallback = callback) |
Set User ID | LevelPlayInitRequest.Builder(appKey).withUserId("user-id") | UserProperties(userId = "user-id") |
Set Test Mode | InitSettings(test = true) | |
Set Extra Params | InitSettings(userProperties = UserProperties(customProperties = ...)) |
Operation | LevelPlay | XMediator |
---|---|---|
SDK Initialization | LevelPlay.init(context, initRequest, initListener); | XMediatorAds.startWith(activity, appKey, initSettings, initCallback); |
Set User ID | initRequest = new LevelPlayInitRequest.Builder(appKey).withUserId("user-id").build(); | userProperties.setUserId("user-id"); |
Set Test Mode | initSettings.setTest(true); | |
Set Extra Params | userProperties.setCustomProperties(...); |
For more details, refer to:
Ad Formats
Banner Ads
Banner API Method Comparison
- Kotlin
- Java
Operation | LevelPlay | XMediator |
---|---|---|
Config | adConfig = new LevelPlayBannerAdView.Config.Builder().build(); | final Banner.Size size = Banner.Size.Phone |
Set Listener | bannerView.setListener(listener) | XMediatorAds.Banner.addListener(listener) |
Create Banner | adView = LevelPlayBannerView(context, adUnitId, adConfig) | XMediatorAds.Banner.create(placementId, size) |
Show Banner | bannerView.visibility = View.VISIBLE | container.addView(XMediatorAds.Banner.getView(placementId)) |
Destroy/Remove | bannerView.destroy() | XMediatorAds.Banner.removeListener(listener) or remove the view from the container |
Manual Refresh | bannerView.loadAd() | XMediatorAds.Banner.load(placementId) |
Set Ad Space | XMediatorAds.Banner.setAdSpace(placementId, "ad-space") |
Operation | LevelPlay | XMediator |
---|---|---|
Config | adConfig = new LevelPlayBannerAdView.Config.Builder().build(); | val size = Banner.Size.Phone.INSTANCE |
Set Listener | bannerView.setListener(listener); | XMediatorAds.getBanner().addListener(listener); |
Create Banner | adView = new LevelPlayBannerView(...) | XMediatorAds.getBanner().create(placementId, size); |
Show Banner | bannerView.setVisibility(View.VISIBLE); | container.addView(XMediatorAds.getBanner().getView(placementId)); |
Destroy/Remove | bannerView.destroy(); | XMediatorAds.getBanner().removeListener(listener); or remove the view from the container |
Manual Refresh | bannerView.loadAd(); | XMediatorAds.getBanner().load(placementId); |
Set Ad Space | XMediatorAds.getBanner().setAdSpace(placementId, "ad-space"); |
Banner Listener Method Comparison
- Kotlin
- Java
Event / Action | LevelPlay (LevelPlayBannerAdViewListener ) | XMediator (BannerAds.Listener ) |
---|---|---|
Ad Loaded | onAdLoaded(adInfo: LevelPlayAdInfo) | onLoaded(placementId: String, loadResult: LoadResult) |
Load Failed | onAdLoadFailed(error: LevelPlayAdError) | — |
Ad Displayed | onAdDisplayed(adInfo: LevelPlayAdInfo) | — |
Display Failed | onAdDisplayFailed(adInfo: LevelPlayAdInfo, error: LevelPlayAdError) | — |
Clicked | onAdClicked(adInfo: LevelPlayAdInfo) | onClicked(placementId: String) |
Expanded | onAdExpanded(adInfo: LevelPlayAdInfo) | — |
Collapsed | onAdCollapsed(adInfo: LevelPlayAdInfo) | — |
Left Application | onAdLeftApplication(adInfo: LevelPlayAdInfo) | — |
Impression | — | onImpression(placementId: String, impressionData: ImpressionData) |
Event / Action | LevelPlay (LevelPlayBannerAdViewListener ) | XMediator (BannerAds.Listener ) |
---|---|---|
Ad Loaded | onAdLoaded(LevelPlayAdInfo adInfo) | onLoaded(String placementId, LoadResult loadResult) |
Load Failed | onAdLoadFailed(LevelPlayAdError error) | — |
Ad Displayed | onAdDisplayed(LevelPlayAdInfo adInfo) | — |
Display Failed | onAdDisplayFailed(LevelPlayAdInfo adInfo, LevelPlayAdError error) | — |
Clicked | onAdClicked(LevelPlayAdInfo adInfo) | onClicked(String placementId) |
Expanded | onAdExpanded(LevelPlayAdInfo adInfo) | — |
Collapsed | onAdCollapsed(LevelPlayAdInfo adInfo) | — |
Left Application | onAdLeftApplication(LevelPlayAdInfo adInfo) | — |
Impression | — | onImpression(String placementId, ImpressionData impressionData) |
Key Differences: Banner Ads
Feature | LevelPlay | XMediator |
---|---|---|
Banner Creation | LevelPlayBannerAdView(context, adUnitId, adConfig) | XMediatorAds.Banner.create(placementId, size) |
Banner Sizes | Phone, Tablet, Mrec, Adaptive | Phone, Tablet, Mrec |
Show Banner | Set view visible | Add view to container |
Impression Callback | Not available by default | Explicit callback per placement |
Listener Interface | LevelPlayBannerViewAdListener | BannerListener |
Ad Identifiers | Ad Unit ID | Placement ID |
Retry Logic | Manual | Automatic (SDK handles retries) |
For more details, refer to: X3M Banner LevelPlay Banner
Interstitial Ads
Interstitial API Method Comparison
- Kotlin
- Java
Operation | LevelPlay | XMediator |
---|---|---|
Set Listener | interstitialAd.setListener(listener) | XMediatorAds.Interstitial.addListener(listener) |
Load Interstitial | interstitialAd.loadAd() | XMediatorAds.Interstitial.load(placementId) |
Check Ready | interstitialAd.isReady() | XMediatorAds.Interstitial.isReady() or isReady(placementId) |
Show Interstitial | interstitialAd.show() | XMediatorAds.Interstitial.show(activity, "ad-space") or .show(placementId, activity, "ad-space") |
Destroy/Remove | interstitialAd.destroy() | XMediatorAds.Interstitial.removeListener(listener = interstitialListener) |
Operation | LevelPlay | XMediator |
---|---|---|
Set Listener | interstitialAd.setListener(listener); | XMediatorAds.getInterstitial().addListener(listener); |
Load Interstitial | interstitialAd.loadAd(); | XMediatorAds.getInterstitial().load(placementId); |
Check Ready | interstitialAd.isReady(); | XMediatorAds.getInterstitial().isReady(); or .isReady(placementId); |
Show Interstitial | interstitialAd.show(); | XMediatorAds.getInterstitial().show(activity, "ad-space"); or .show(placementId, activity, "ad-space"); |
Destroy/Remove | interstitialAd.destroy(); | XMediatorAds.getInterstitial().removeListener(listener = interstitialListener) |
Listener Method Comparison
- Kotlin
- Java
Event / Action | LevelPlay (LevelPlayInterstitialAdListener ) | XMediator (InterstitialAds.Listener ) |
---|---|---|
Loaded | onAdLoaded(levelPlayAdInfo: LevelPlayAdInfo) | onLoaded(placementId, loadResult) |
Load Failed | onAdLoadFailed(levelPlayAdError: LevelPlayAdError) | — |
Displayed | onAdDisplayed(levelPlayAdInfo: LevelPlayAdInfo) | onShowed(placementId) |
Display Failed | onAdDisplayFailed(levelPlayAdError: LevelPlayAdError, levelPlayAdInfo: LevelPlayAdInfo) | onFailedToShow(placementId, showError) |
Clicked | onAdClicked(levelPlayAdInfo: LevelPlayAdInfo) | onClicked(placementId) |
Closed | onAdClosed(levelPlayAdInfo: LevelPlayAdInfo) | onDismissed(placementId) |
Impression | — | onImpression(placementId, impressionData) |
Event / Action | LevelPlay (LevelPlayInterstitialAdListener ) | XMediator (InterstitialAds.Listener ) |
---|---|---|
Loaded | onAdLoaded(LevelPlayAdInfo levelPlayAdInfo) | onLoaded(String placementId, LoadResult loadResult) |
Load Failed | onAdLoadFailed(LevelPlayAdError levelPlayAdError) | — |
Displayed | onAdDisplayed(LevelPlayAdInfo levelPlayAdInfo) | onShowed(String placementId) |
Display Failed | onAdDisplayFailed(LevelPlayAdError levelPlayAdError, LevelPlayAdInfo levelPlayAdInfo) | onFailedToShow(String placementId, ShowError showError) |
Clicked | onAdClicked(LevelPlayAdInfo levelPlayAdInfo) | onClicked(String placementId) |
Closed | onAdClosed(LevelPlayAdInfo levelPlayAdInfo) | onDismissed(String placementId) |
Impression | — | onImpression(String placementId, ImpressionData impressionData) |
Key Differences: Interstitial Ads
Feature | LevelPlay | XMediator |
---|---|---|
Impression Callback | On display | Explicit callback per placement |
Listener Interface | LevelPlayInterstitialAdListener | InterstitialListener |
Ad Identifiers | Ad Unit ID | Placement ID |
Retry Logic | Manual | Automatic (SDK handles retries) |
For more details, refer to: X3M Interstitial LevelPlay Interstitial
Rewarded Ads
Rewarded API Method Comparison
- Kotlin
- Java
Operation | LevelPlay | XMediator |
---|---|---|
Set Listener | rewardedAd.setListener(listener) | XMediatorAds.Rewarded.addListener(listener) |
Load Rewarded | rewardedAd.loadAd() | XMediatorAds.Rewarded.load(placementId) |
Check Ready | rewardedAd.isReady() | XMediatorAds.Rewarded.isReady() or isReady(placementId) |
Show Rewarded | rewardedAd.show() | XMediatorAds.Rewarded.show(activity, "ad-space") or .show(placementId, activity, "ad-space") |
Destroy/Remove | rewardedAd.destroy() | XMediatorAds.Rewarded.removeListener(listener = rewardedListener) |
Operation | LevelPlay | XMediator |
---|---|---|
Set Listener | rewardedAd.setListener(listener); | XMediatorAds.getRewarded().addListener(listener); |
Load Rewarded | rewardedAd.loadAd(); | XMediatorAds.getRewarded().load(placementId); |
Check Ready | rewardedAd.isReady(); | XMediatorAds.getRewarded().isReady(); or .isReady(placementId); |
Show Rewarded | rewardedAd.show(); | XMediatorAds.getRewarded().show(activity, "ad-space"); or .show(placementId, activity, "ad-space"); |
Destroy/Remove | rewardedAd.destroy(); | XMediatorAds.getRewarded().removeListener(listener = rewardedListener) |
Listener Method Comparison
- Kotlin
- Java
Event / Action | LevelPlay (LevelPlayRewardedAdListener ) | XMediator (RewardedAds.Listener ) |
---|---|---|
Loaded | onAdLoaded(adInfo: LevelPlayAdInfo) | onLoaded(placementId: String, loadResult: LoadResult) |
Load Failed | onAdLoadFailed(error: LevelPlayAdError) | — |
Displayed | onAdDisplayed(adInfo: LevelPlayAdInfo) | onShowed(placementId: String) |
Display Failed | onAdDisplayFailed(error: LevelPlayAdError, adInfo: LevelPlayAdInfo) | onFailedToShow(placementId: String, showError: ShowError) |
Clicked | onAdClicked(adInfo: LevelPlayAdInfo) | onClicked(placementId: String) |
Closed | onAdClosed(adInfo: LevelPlayAdInfo) | onDismissed(placementId: String) |
Rewarded | onAdRewarded(reward: LevelPlayReward, adInfo: LevelPlayAdInfo) | onEarnedReward(placementId: String) |
Impression | — | onImpression(placementId: String, impressionData: ImpressionData) |
Ad Info Changed | onAdInfoChanged(adInfo: LevelPlayAdInfo) | — |
Event / Action | LevelPlay (LevelPlayRewardedAdListener ) | XMediator (RewardedAds.Listener ) |
---|---|---|
Loaded | onAdLoaded(LevelPlayAdInfo adInfo) | onLoaded(String placementId, LoadResult loadResult) |
Load Failed | onAdLoadFailed(LevelPlayAdError error) | — |
Displayed | onAdDisplayed(LevelPlayAdInfo adInfo) | onShowed(String placementId) |
Display Failed | onAdDisplayFailed(LevelPlayAdError error, LevelPlayAdInfo adInfo) | onFailedToShow(String placementId, ShowError showError) |
Clicked | onAdClicked(LevelPlayAdInfo adInfo) | onClicked(String placementId) |
Closed | onAdClosed(LevelPlayAdInfo adInfo) | onDismissed(String placementId) |
Rewarded | onAdRewarded(LevelPlayReward reward, LevelPlayAdInfo adInfo) | onEarnedReward(String placementId) |
Impression | — | onImpression(String placementId, ImpressionData impressionData) |
Ad Info Changed | onAdInfoChanged(LevelPlayAdInfo adInfo) | — |
Key Differences: Rewarded Ads
Feature | LevelPlay | XMediator |
---|---|---|
Reward Callback | onUserRewarded(ad, reward) | onEarnedReward(placementId) |
Impression Callback | On display | Explicit callback per placement |
Listener Interface | LevelPlayRewardedAdListener | RewardedAds.Listener |
Ad Identifiers | Ad Unit ID | Placement ID |
Retry Logic | Manual | Automatic (SDK handles retries) |
Auto-load/Auto-retry | Manual | Automatic after dismiss/fail |
Auto-load/Auto-retry | Manual | Automatic after dismiss/fail |